﻿namespace RuneLog.GrandExchange
{
    /// <summary>
    /// The Root Object that is returned by the GE API
    /// </summary>
    public class RootObject
    {
        /// <summary>
        /// The item in this object
        /// </summary>
        public Item Item { get; set; }
    }

    /// <summary>
    /// Represents an Item from the GE
    /// </summary>
    public class Item
    {
        /// <summary>
        /// The Icon for this item
        /// </summary>
        public string Icon { get; set; }
        /// <summary>
        /// The Large Icon for this item
        /// </summary>
        public string IconLarge { get; set; }
        /// <summary>
        /// The ID of this item
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// The type of this item
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// The icon of the item-type
        /// </summary>
        public string TypeIcon { get; set; }
        /// <summary>
        /// The name of the item
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// The description (or Examine) text
        /// </summary>
        public string Description { get; set; }
        /// <summary>
        /// The current information on the item
        /// </summary>
        public Current Current { get; set; }
        /// <summary>
        /// Information about today's changes on the item
        /// </summary>
        public Today Today { get; set; }
        /// <summary>
        /// History of the item in the last 30 days
        /// </summary>
        public Day30 Day30 { get; set; }
        /// <summary>
        /// History of the item in the last 90 days
        /// </summary>
        public Day90 Day90 { get; set; }
        /// <summary>
        /// History of the item in the last 180 days
        /// </summary>
        public Day180 Day180 { get; set; }
        /// <summary>
        /// True if the item can only be used by members
        /// </summary>
        public bool Members { get; set; }
    }
    /// <summary>
    /// Holds information about today's changed
    /// </summary>
    public class Today
    {
        /// <summary>
        /// Today's Trend
        /// </summary>
        public string Trend { get; set; }
        /// <summary>
        /// Today's Price change
        /// </summary>
        public string Price { get; set; }
    }
    /// <summary>
    /// Holds information about the current price
    /// </summary>
    public class Current
    {
        /// <summary>
        /// The trend the item is on right now
        /// </summary>
        public string Trend { get; set; }
        /// <summary>
        /// The price of the item right now.
        /// </summary>
        public string Price { get; set; }
    }
    /// <summary>
    /// Holds information about the item over the past 180 days.
    /// </summary>
    public class Day180
    {
        /// <summary>
        /// The trend of the item in the last 180 days.
        /// </summary>
        public string Trend { get; set; }
        /// <summary>
        /// The price change over the last 180 days.
        /// </summary>
        public string Change { get; set; }
    }
    public class Day30
    {
        public string Trend { get; set; }
        public string Change { get; set; }
    }
    public class Day90
    {
        public string Trend { get; set; }
        public string Change { get; set; }
    }

}
